package com.sws.push.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sws.common.annotation.Excel;
import com.sws.common.core.domain.BaseEntity;

/**
 * 消息推送对象 ry_message_push
 * 
 * @author cx
 * @date 2025-06-20
 */
public class RyMessagePush extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 消息发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "消息发送时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /** 消息过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "消息过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 关联客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 关联客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 推送内容 */
    @Excel(name = "推送内容")
    private String content;

    /** 是否确认 */
    @Excel(name = "是否确认")
    private Integer isConfirmed;

    /** 紧急程度 */
    @Excel(name = "紧急程度")
    private Integer urgencyLevel;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contactPerson;

    /** 推送给 */
    @Excel(name = "推送给")
    private String pushName;

    /** 删除标志(0存在,1删除) */
    private int delFlag;

    /** 推送目标ID（用户ID或客户ID） */
    private String pushId;

    /** 推送目标类型（0：用户，1：客户） */
    private String pushType;

    private Boolean isReception; // 新增字段标识前台用户

    // Getter/Setter
    public Boolean getIsReception() {
        return isReception;
    }
    public void setIsReception(Boolean reception) {
        isReception = reception;
    }

    // getter and setter
    public String getPushId() {
        return pushId;
    }

    public void setPushId(String pushId) {
        this.pushId = pushId;
    }

    public String getPushType() {
        return pushType;
    }

    public void setPushType(String pushType) {
        this.pushType = pushType;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setSendTime(Date sendTime)
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime()
    {
        return sendTime;
    }

    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }

    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }

    public void setIsConfirmed(Integer isConfirmed)
    {
        this.isConfirmed = isConfirmed;
    }

    public Integer getIsConfirmed()
    {
        return isConfirmed;
    }

    public void setUrgencyLevel(Integer urgencyLevel)
    {
        this.urgencyLevel = urgencyLevel;
    }

    public Integer getUrgencyLevel()
    {
        return urgencyLevel;
    }

    public void setContactPerson(String contactPerson)
    {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson()
    {
        return contactPerson;
    }

    public void setPushName(String pushName)
    {
        this.pushName = pushName;
    }

    public String getPushName()
    {
        return pushName;
    }

    public void setDelFlag(int delFlag)
    {
        this.delFlag = delFlag;
    }

    public int getDelFlag()
    {
        return delFlag;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sendTime", getSendTime())
            .append("endTime", getEndTime())
            .append("customerId", getCustomerId())
            .append("customerName", getCustomerName())
            .append("content", getContent())
            .append("isConfirmed", getIsConfirmed())
            .append("urgencyLevel", getUrgencyLevel())
            .append("contactPerson", getContactPerson())
            .append("pushName", getPushName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
